Appendix A, which is a part of the present disclosure, is a microfiche appendix consisting of 2 sheets of microfiche having 114 frames. Microfiche appendix A includes a software program operable on a host processor in order to drive a hardware card shown in appendix B.
Appendix B, which is a part of the present disclosure, is a microfiche appendix consisting of one (1) sheet of microfiche having 26 frames. Microfiche appendix B includes circuit diagrams and chip design diagrams for an embodiment of the invention as implemented on a circuit board.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
This and other embodiments are further described below.
1. Field of the Invention
This invention relates to receiving data from a physically shared medium in a network interface where a portion of the required signal processing is accomplished off-line, independent of receiving the data.
2. Background
Packet-switched communication networks are often used in the transmission of data over shared communication channels. Shared communication channels may exist on a variety of physical media such as copper twisted-pair, coaxial cable, power lines, optical cable, wireless RF (radio frequency) and wireless IR (infrared). A system that has found wide-spread commercial use is Ethernet. (see xe2x80x9cMultipoint Data Communication System With Collision Detection,xe2x80x9d U.S. Pat. No. 4,063,220, issued Dec. 13, 1977 to Metcalfe et al). A multiple-access technique is used in systems such as Ethernet to coordinate access among several stations contending for use of the shared channel. Ethernet is based on 1-persistent Carrier Sense Multiple Access with Collision Detect (CSMA/CD) using a collision resolution algorithm referred to as Binary Exponential Backoff (BEB).
A typical packet-switched network is shown in FIG. 1. In FIG. 1, stations 102, 104, 105 and 106 are connected to a shared medium 101. Although only four stations are shown in FIG. 1, any number of stations may be connected to shared-medium 101. Shared medium 101 may be any of the variety of available physical media including copper twisted-pair, coaxial cable, power lines, optical cable and wireless (RF or IR).
Station 102 shows a network interface 103. All of the stations connected to common shared medium 101 have a network interface similar to network interface 103. Network interface 103 controls access to shared medium 101 from host station 102 and provides conversion between host station formatted data and data packets on shared medium 101.
FIG. 2 shows a typical Ethernet network interface 210 installed in a host station 220. See xe2x80x9cCarrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specification,xe2x80x9d ANSI/IEEE Std. 802.3, Fifth Edition Jul. 29, 1996. Ethernet network interface 210 is a typical network interface 103 (FIG. 1) providing access to shared medium 101 from host station 220.
Typically, signal processing functions in network interface 210 are grouped into a physical (PHY) layer 200 and a Media Access Control (MAC) layer 201. Physical layer 200 (the lowest level layer of the interface) interfaces to MAC layer 201. Signals ReceiveBit (RB), TransmitBit (TB), collisionDetect (CD), and carrierSense (CS) are exchanged between PHY layer 200 and MAC layer 201. Media access control (MAC) layer 201 implements an access control algorithm and translates between a sample packet bit stream output from PHY layer 200 and a host formatted data packet bit stream compatible with host station 220.
In PHY layer 200, a hybrid 209 couples both receive and transmit elements of PHY layer 200 to shared medium 101. The receive elements include a CODEC/DEMOD 203 and a carrier sense 202. CODEC/DEMOD 203 in conjunction with Carrier Sense 202 detects the presence of a transmission on shared medium 101. Carrier sense 202 outputs the carrierSense (CS) signal indicating whether or not a data packet on shared medium 101 is detected. Further, CODEC/DEMOD 203 converts analog data packets received by hybrid 209 from shared medium 101 into the sample packet bit stream from PHY layer 200. Typically, CODEC/DEMOD 203 includes a controlled gain amplifier, anti-aliasing and receive filters, and an analog to digital converter. The anti-aliasing and receive filters of CODEC/DEMOD 203 carry out the symbol processing required to counter the effect that channel distortion by shared medium 101 has on a received data packet. Therefore, a majority of the signal processing required to receive and process data packets from shared medium 101 is accomplished in real-time in CODEC/DEMOD 203. CODEC/DEMOD 203 must be capable of processing data packets from shared medium 101 at the transmission rate of shared medium 101. The output of CODEC/DEMOD 203, the sample packet, is a nearly completely processed form of the received data packet and is substantially converted to host data format.
The transmit elements of PHY layer 200 include a CODEC/MOD 205. CODEC/MOD 205 typically includes a controlled gain amplifier, a digital to analog converter and reconstruction filters. CODEC/MOD 205 converts an output bit stream into appropriate transmit data packets which are transmitted on shared medium 101 by Hybrid 209. Collision detect 204 compares the transmit data packets being transmitted to received data packets to detect the presence of other transmissions from other stations. A data collision occurs when another station is transmitting a data packet during the time when station 210 attempts to transmit a data packet. Collision detect 204 generates the collisionDetect (CD) signal indicating whether or not a data collision has been detected.
Physical layer 200 outputs signal CD from collision detect 204 and signal CS from carrier sense 202 to MAC controller 206 in MAC layer 201. PHY layer 200 also outputs the receiveBit (RB) signal to RX Queue 207 of MAC layer 201 and receives the transmitBit (TB) signal from TX Queue 208 of MAC layer 201.
RX Queue 207 receives the sampled packet in a sequence of receiveBit (RB) signals from CODEC/DEMOD 203. When the sample packet is complete and stored in RX Queue 207, host processor 230 of station 220 is alerted and the sample packet is transmitted to processor 230.
Buffer TX Queue 208 receives a transmit packet in sample packet format from processor 230 in station 220. TX Queue 208 stores the transmit packet and, in response to a signal from MAC controller 206, alerts CODEC/MOD 205 of the presence of the transmit packet. CODEC/MOD 205 receives the transmit packet from TX Queue 208, converts the transmit packet to data packet format, and transmits the data packet to hybrid 209 for transfer to shared medium 101. Both TX Queue 208 and RX Queue 207 hold data that is substantially in host data format and the signal processing required for receiving data from shared medium 101 or transmitting data to physical medium 101 is accomplished in CODEC/DEMOD 203 and CODEC/MOD 205, respectively.
MAC controller 206 controls the timing of transmit data packets through TX Queue 208 to CODEC/MOD 205 of PHY 200. MAC controller 206 outputs a controller signal to TX Queue 208, the controller signal indicating to TX Queue 208 when it is desirable to transmit a data packet onto shared medium 101.
Implementations of CODEC/DEMOD 203 and CODEC/MOD 205 depend on the signaling and modulation format used in shared medium 101 and are strongly dependent on the required system performance and the overall channel characteristics. An industry trend has been to use more sophisticated modulation techniques to transport higher bit rates over more severely impaired channels, causing increasing complexity in implementation of CODEC/DEMOD 203 and CODEC/MOD 205.
In FIG. 2, interface 210 is shown implementing sophisticated baseband or passband signaling using high spectral efficiency signal processing. Prior practice has commonly been based on baseband signaling, with relatively simple physical (PHY) layer processing. In this case, FIG. 2 can be simplified with CODEC/DEMOD 203 replaced with a phase-lock loop and sample comparator and CODEC/MOD 205 replaced with a Manchester coder and output driver.
The complexity, cost, chip area, and power dissipation requirements of physical interface 200 grows with the symbol (or baud) rate and the signal processing required per symbol to filter, resample, equalize, demodulate, and recover timing on the received data. These functions of physical layer 200 are determined by the degree of impairment in the channel and the spectral efficiency desired of the modulation technique. For example, in systems transporting multi-megabit/sec signals over existing twisted pair wiring (telephone infrastructure) using 8 bit/baud 256-QAM modulation on a channel with an impulse response that extends over several baud times requires several hundred (xcx9c500) arithmetic operations per baud. A baud rate of 2 Megabaud requires over a billion arithmetic operations per second.
The level of complexity required to process data as described above may be appropriate for certain devices that require access to the full channel data rate of the shared medium. However, conventional interface methods also require low data rate devices, which only require a fraction of the channel data rate, to carry the burden, and expense, of a full-speed network interface such as the one described above.
According to the present invention, an interface that optimizes the allocation of hardware and software resources for a network interface using packet data communications with complex modulation formats is presented. The symbol processing functions are decoupled from the real-time media access functions, allowing much of the symbol processing to be accomplished off-line and independent of the actual receipt of data packets.
A data packet destined for a particular station, the host station, is received from a shared medium (such as Ethernet) and partially processed by receiver elements in the host station to obtain a sampled packet. The sampled packet is a sampled and digitized version of the data packet and has experienced little signal processing by the network interface itself, although in some embodiments portions of the signal processing tasks are accomplished within the network interface. The sampled packets are held in a buffer for later processing by other resources of the host station not involved in the actual receipt of the data packets.
Data from the host station to be transmitted to the shared medium is converted from host data to a transmit packet in sample packet format and buffered in a transmit queue. The transmit packet is transmitted to the shared medium by the network interface when the MAC controller allows access to the shared medium.
The signal processing rate of the system is therefore scaled to the data rates of the individual station instead of the potentially much higher transmission rate of the network connected to the shared medium. Furthermore, embodiments of the invention compensate for latencies caused by the scheduling of processor resources among other tasks, relaxing the real-time requirements for that processing. Furthermore, in an embodiment where the signal processing is performed by a shared computing element multiplexed with other tasks, the process load is reduced to just what is required for useful communication (goodput) and the shared processor is not loaded when the network is idle or carries data packets destined for other stations.
A packet-based protocol usable with embodiments of this invention is disclosed in U.S. patent application Ser. No. 08/853,683, filed May 9, 1997 and assigned to the assignee of this application, entitled xe2x80x9cMethod and Apparatus for Reducing Signal Processing Requirements for Transmitting Packet-Based Dataxe2x80x9d, incorporated herein by reference in its entirety. Using this packet-based protocol, or other packet-based protocols, in embodiments of the present invention allows production of higher rate xe2x80x9csoftware modemsxe2x80x9d that utilize some of the processors present in the host computer. In addition to packet based data transmission, some embodiments are capable of recognizing the start of a data packet within a continuous transmission of bits on a shared medium.
In most embodiments, adequate buffering of sampled analog packet signals is provided so that momentary overload of the interface caused by packets arriving faster than the throughput capacity will not result in dropped transmissions. This buffering need only be provided for sampled signals that are destined for that particular station and not for the entire throughput of the shared medium. Often, the sample packet formed by the modem function, a sampled and digitized form of the data packet, is only slightly larger than the fully processed, host compatible digital packet. Buffering, therefore, may be accomplished by various means including memory on the same chip as the network interface, RAM chips attached to the network interface chip, First-in First-out (FIFO) memory attached to the network interface chip, or RAM shared with the host processor.
Network interfaces according to the present invention are easily upgraded for improved algorithms and implementation, for added compatibility with newer communication standards, and for scaleable communication performance resulting from increased host processor performance because-the signal processing is accomplished by central programmable processors. In addition, network interfaces embodying this invention can lead to lower power dissipation in the network interface electronics and occupy less chip area.
In some embodiments, different signaling and modulation formats are mixed on a single shared medium. The off-line processing identifies the data packet""s format and executes algorithms specific to that format. The resulting stream of heterogeneous packets in sample packet form are intermixed in the same queues and handled by the same physical interfaces. The dynamic per-packet signal processing has at least two applications: allowing the signal processing complexity to be adapted to the joint capabilities of sending and receiving stations; and allowing the signal processing to be adapted to unique channel characteristics between sending and receiving stations.
An alternative embodiment of the current invention provides multiple RX CODEC and TX CODEC units connected to the receive and transmit queues. This provides for a multi-channel interface that could be used for interfaces to multiple media segments or interfaces to multiple frequency division multiplexed channels on one media segment with lower complexity than that required to replicate the entire network interface.
Another embodiment of the invention includes partitioning of the signal processing function into an application-specific hardware accelerator coupled with off-line software in a general-purpose host processor. Certain computationally intensive sub-functions of the signal processing are allocated to the hardware accelerator for increased throughput of the combined system.
These embodiments of the invention are further discussed below with reference to the following figures.